<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Monkey PHP Framework</title>
<link type="text/css" href="statics/css/base.css" rel="stylesheet" />
<script type="text/javascript" src="statics/js/jquery.min.js"></script>
<!--prettify-->
<link type="text/css" href="statics/css/prettify.css" rel="stylesheet" />
<script type="text/javascript" src="statics/js/prettify.js"></script>
<script type="text/javascript" src="statics/js/html5.js"></script>
<script type="text/javascript" src="statics/js/monkey.js"></script>
</head>

<body>
<!--page_wrap:start-->
<div class="page_wrap">

<p>
<h2>2.5  插件管理类\Monkey\PluginManager</h2>
<br />
<b>公开方法：</b><br />
<table class="table table_bordered table_striped">
	<thead>
		<tr>
			<th>方法名</th>
			<th>参数</th>
			<th>说明</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<th>::_instance</th>
			<td>无</td>
			<td>获取插件管理类单例。返回\Monkey\PluginManager对象</td>
		</tr>
		<tr>
			<th>post</th>
			<td>
				string $pluginName 插件名<br />
				string $pluginReg 插件注册表
			</td>
			<td>注册插件，正确返回 TRUE，已经存在同名插件将返回 FALSE</td>
		</tr>
		<tr>
			<th>get</th>
			<td>string $pluginName 插件名</td>
			<td>读取插件注册项。返回array，不存在返回空数组</td>
		</tr>
		<tr>
			<th>delete</th>
			<td>string $pluginName 插件名</td>
			<td>注销插件。返回boolean</td>
		</tr>
		<tr>
			<th>put</th>
			<td>
				string $pluginName 插件名<br />
				array $pluginReg 插件注册表
			</td>
			<td>更新插件，正确返回 TRUE，不存在将返回 FALSE</td>
		</tr>
		<tr>
			<th>save </th>
			<td>无</td>
			<td>保存插件注册表。无返回</td>
		</tr>
		<tr>
			<th>before</th>
			<td>string $controller 控制器名<br />
            string $route 路由
            </td>
			<td>运行所有前置插件，有一个插件返回FALSE，则全局返回 FALSE</td>
		</tr>
		<tr>
			<th>after</th>
			<td>string $controller 控制器名<br />
            string $route 路由
            </td>
			<td>运行所有后置插件。无返回</td>
		</tr>
	</tbody>
</table>

<b>注意：</b><br />
（1）插件注册项的格式：<br />

<pre class="prettyprint linenums">
array(
     'pluginname'  =>array(
                 'enable'    =>true, //是否启用插件
                 'isbefore'  =>true, //TRUE为前置插件，FALSE为后置插件
                 'controller'    =>'', //控制器名的正则匹配模式。例外，空字符串匹配任何控制器。
                 'route'      =>'', //路由的正则匹配模式。例外，空字符串匹配任何路由。
                 'callback'  =>'myclass::mymethod',//插件的回调方法，全静态形式
      ),
      /***其它插件***/
);
</pre>
</p>


</div>
<!--page_wrap:end-->
</body>
</html>